package com.wust.supermarket.service;

import com.wust.supermarket.domain.Instock;

import java.util.List;

public interface InstockService {
    /**
     * 入库
     *
     * @param instock 创建入库记录
     * @return 是否创建成功
     */
    boolean insertInstock(Instock instock);

    /**
     * 更新入库信息
     *
     * @param instock 入库记录
     * @return boolean  是否修改成功
     */
    boolean updateInstock(Instock instock);

    /**
     * 删除某条入库记录
     *
     * @param instockId  入库单号
     * @return 是否删除成功
     */
    boolean deleteInstockById(String instockId);

    /**
     * 删除一次入库中的某种商品的所有记录
     *
     * @param merchId   商品号
     * @return 是否删除成功
     */
    boolean deleteInstockByMerchId(int merchId);

    /**
     * 删除一次入库的某供应商的所有记录
     *
     * @param providerId 供应商id
     * @return 是否删除成功
     */
    boolean deleteInstockByProviderId(int providerId);

    /**
     * 查询所有入库记录
     *
     * @return List<Instock>
     */
    List<Instock> listInstocks();

    /**
     * 根据入库id查询入库记录
     *
     * @return Instock
     */
    Instock getInstockById(String instockId);

    /**
     * 查询某一商品的所有入库记录
     *
     * @param merchId 商品id
     * @return List<Instock>
     */
    List<Instock> listInstockByMerchId(int merchId);

    /**
     * 查询某一供应商的所有入库记录
     *
     * @param providerId 供应商id
     * @return List<Instock>
     */
    List<Instock> listInstockByProviderId(int providerId);

}
